#include "SBCRSmatrix.H"
//# include <>

using namespace std;
using namespace mg::numeric::algebra ;


int main() {

  SBCRSmatrix<int,2> sbcrs1 = {   {6, 0, 9, 0, 0, 4, 0, 0},
                                  {0, 0, 0, 0, 0, 4, 0, 0},
                                  {0, 5, 0, 0, 0, 0, 0, 0},
                                  {0, 0, 3, 5, 8, 0, 0, 0},
                                  {0, 0, 0, 0, 6, 0, 0, 0},
                                  {0, 0, 0, 0, 0, 5, 0, 0},
                                  {0, 0, 0, 0, 0, 4, 3, 0},
                                  {0, 0, 0, 0, 0, 0, 2, 2}  
                                };
    cout << "------------------------------------------------------------------------------------" << endl;   

    sbcrs1.printBlockMatrix();
    cout << "------------------------------------------------------------------------------------" << endl;   
    
    SBCRSmatrix<int,4> sbcrs2("input17.dat");   
    cout << "------------------------------------------------------------------------------------" << endl;   
    
    sbcrs2.print();
    cout << "------------------------------------------------------------------------------------" << endl;   
    cout << sbcrs1 ;  
    cout << "------------------------------------------------------------------------------------" << endl;   
    sbcrs2.printBlockMatrix();
    cout << "------------------------------------------------------------------------------------" << endl;   
  
    std::vector<int> v1 = {3,4,0,1,6,8,1,19};
    std::vector<int> v2 = sbcrs2 * v1 ;  
  
    for(auto& x : v2 )
        cout << x << " ";
    cout << endl ;  
  return 0;
}






